home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1997 January: Mac OS SDK / Dev.CD Jan 97 SDK2.toast / Development Kits (Disc 2) / OpenDoc Development Framework / ODFDev / ODF / Internet / SLCySink.xih < prev    next >
Encoding:
Text File  |  1996-09-16  |  10.6 KB  |  383 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: SLCySink.xih.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.18
  7.  *     SOM Emitter emitxih.dll: 2.33
  8.  */
  9.  
  10. #ifndef SOM_FW_OCyberSink_xih
  11. #define SOM_FW_OCyberSink_xih
  12.  
  13. #include <somcls.xh>
  14. #include <somcm.xh>
  15.  
  16. #ifndef SOM_FW_OCyberSink_xh
  17. #include <SLCySink.xh>
  18. #endif
  19.  
  20. /*
  21.  * Set the scope of methods functions
  22.  */
  23. #ifndef SOM_Scope
  24. #define SOM_Scope extern "C"
  25. #endif
  26.  
  27. #define FW_OCyberSink_MaxNoMethods 1
  28.  
  29. /*
  30.  * -- Instance Data
  31.  */
  32.  
  33. /*
  34.  * -- Use best possible alignment for instance data slice.
  35.  */
  36. #if PRAGMA_ALIGN_SUPPORTED
  37. #  pragma options align=power
  38. #endif
  39. typedef struct FW_OCyberSinkData {
  40.     CyberStream* fStream;
  41.     Ptr fBuffer;
  42.     Size fRead;
  43.     Size fSize;
  44. } FW_OCyberSinkData;
  45. #if PRAGMA_ALIGN_SUPPORTED
  46. #  pragma options align=reset
  47. #endif
  48.  
  49. /*
  50.  * -- Getdata Macro
  51.  */
  52.  
  53. /*
  54.  * -- This emitter treats Data Tokens as Thunks by default.
  55.  * -- Use the sc modifier "nothunks" to override this default.
  56.  */
  57. SOMEXTERN typedef FW_OCyberSinkData* (* SOMLINK somTD_FW_OCyberSink_DataThunk)(void*);
  58. #define FW_OCyberSinkGetData(somSelf) \
  59.    (((somTD_FW_OCyberSink_DataThunk)(FW_OCyberSinkClassData.instanceDataToken))(somSelf))
  60.  
  61. /*
  62.  * -- Instance Data Access Macros for use in Method Procedures
  63.  */
  64. #ifdef VARIABLE_MACROS
  65.   #define _fStream (somThis->fStream)
  66.   #define _fBuffer (somThis->fBuffer)
  67.   #define _fRead (somThis->fRead)
  68.   #define _fSize (somThis->fSize)
  69. #endif
  70.  
  71.  
  72. /*
  73.  * Trace/Debug macro
  74.  */
  75. #ifndef FW_OCyberSinkMethodDebug
  76. #define FW_OCyberSinkMethodDebug(c,m) SOMMethodDebug(c,m)
  77. #endif
  78.  
  79. /*
  80.  * -- Method Macros for use in Method Procedures
  81.  */
  82. #ifdef METHOD_MACROS
  83.   #define _GetReadableBytes somSelf->GetReadableBytes
  84.   #define _Read somSelf->Read
  85.   #define _GetWritableBytes somSelf->GetWritableBytes
  86.   #define _Write somSelf->Write
  87.   #define _somInit somSelf->somInit
  88.   #define _somUninit somSelf->somUninit
  89.   #define _somInit somSelf->somInit
  90.   #define _somUninit somSelf->somUninit
  91.   #define _somDuplicateReference somSelf->somDuplicateReference
  92.   #define _somCompareReference somSelf->somCompareReference
  93.   #define _somRelease somSelf->somRelease
  94.   #define _somFree somSelf->somFree
  95.   #define _somCanDelete somSelf->somCanDelete
  96.   #define _somGetClass somSelf->somGetClass
  97.   #define _somGetClassName somSelf->somGetClassName
  98.   #define _somGetSize somSelf->somGetSize
  99.   #define _somIsA somSelf->somIsA
  100.   #define _somRespondsTo somSelf->somRespondsTo
  101.   #define _somIsInstanceOf somSelf->somIsInstanceOf
  102.   #define _somDispatch somSelf->somDispatch
  103.   #define _somClassDispatch somSelf->somClassDispatch
  104.   #define _somCastObj somSelf->somCastObj
  105.   #define _somResetObj somSelf->somResetObj
  106.   #define _somPrintSelf somSelf->somPrintSelf
  107.   #define _somDumpSelf somSelf->somDumpSelf
  108.   #define _somDumpSelfInt somSelf->somDumpSelfInt
  109.   #define _InitFromStream somSelf->InitFromStream
  110.   #define _somUninit somSelf->somUninit
  111.   #define _GetReadableBytes somSelf->GetReadableBytes
  112.   #define _Read somSelf->Read
  113.   #define _GetWritableBytes somSelf->GetWritableBytes
  114.   #define _Write somSelf->Write
  115. #endif
  116.  
  117.  
  118. /*
  119.  * Introduced methods
  120.  */
  121.  
  122. /* New Method: InitFromStream */
  123. SOM_Scope void  SOMLINK SLCySink__InitFromStream(FW_OCyberSink *somSelf, Environment *ev,
  124.         CyberStream* cs);
  125.  
  126. /*
  127.  * Overridden methods
  128.  */
  129.  
  130. /* Overridden method: somUninit */
  131. SOM_Scope void  SOMLINK SLCySink__somUninit(FW_OCyberSink *somSelf);
  132. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OCyberSink_somUninit)(FW_OCyberSink *somSelf);
  133. inline void  SOMLINK FW_OCyberSink_parent_FW_OSink_somUninit(FW_OCyberSink *somSelf)
  134. {
  135.   (void)         (somSelf);
  136. }
  137. #define FW_OCyberSink_parents_somUninit(arg0) \
  138.   (void) FW_OCyberSink_parent_FW_OSink_somUninit(arg0)
  139.  
  140. /* Overridden method: GetReadableBytes */
  141. SOM_Scope long  SOMLINK SLCySink__GetReadableBytes(FW_OCyberSink *somSelf, Environment *ev);
  142. SOMEXTERN typedef long   (* SOMLINK somTD_xih_FW_OCyberSink_GetReadableBytes)(FW_OCyberSink *somSelf, Environment *ev);
  143. inline long  SOMLINK FW_OCyberSink_parent_FW_OSink_GetReadableBytes(FW_OCyberSink *somSelf, Environment *ev)
  144. {
  145. #ifdef SOMCHKEXCEPT
  146.   long __somRetVal =   ((somTD_xih_FW_OCyberSink_GetReadableBytes)
  147.     somParentNumResolve((somClassDataStructure*)&FW_OCyberSinkClassData, 1, FW_OSinkClassData.GetReadableBytes))
  148.         (somSelf,ev);
  149.   SOMCHKEXCEPT;
  150.   return __somRetVal;
  151. #else
  152.   return  ((somTD_xih_FW_OCyberSink_GetReadableBytes)
  153.     somParentNumResolve((somClassDataStructure*)&FW_OCyberSinkClassData, 1, FW_OSinkClassData.GetReadableBytes))
  154.         (somSelf,ev);
  155. #endif
  156. }
  157. #define FW_OCyberSink_parents_GetReadableBytes(arg0,arg1) \
  158.   (void) FW_OCyberSink_parent_FW_OSink_GetReadableBytes(arg0,arg1)
  159.  
  160. /* Overridden method: Read */
  161. SOM_Scope void  SOMLINK SLCySink__Read(FW_OCyberSink *somSelf, Environment *ev,
  162.         void* destination,
  163.         long count);
  164. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OCyberSink_Read)(FW_OCyberSink *somSelf, Environment *ev,
  165.         void* destination,
  166.         long count);
  167. inline void  SOMLINK FW_OCyberSink_parent_FW_OSink_Read(FW_OCyberSink *somSelf, Environment *ev,
  168.     void* destination,
  169.     long count)
  170. {
  171.   ((somTD_xih_FW_OCyberSink_Read)
  172.     somParentNumResolve((somClassDataStructure*)&FW_OCyberSinkClassData, 1, FW_OSinkClassData.Read))
  173.         (somSelf,ev,destination,count);
  174. #ifdef SOMCHKEXCEPT
  175.   SOMCHKEXCEPT;
  176. #endif
  177. }
  178. #define FW_OCyberSink_parents_Read(arg0,arg1,arg2,arg3) \
  179.   (void) FW_OCyberSink_parent_FW_OSink_Read(arg0,arg1,arg2,arg3)
  180.  
  181. /* Overridden method: GetWritableBytes */
  182. SOM_Scope long  SOMLINK SLCySink__GetWritableBytes(FW_OCyberSink *somSelf, Environment *ev);
  183. SOMEXTERN typedef long   (* SOMLINK somTD_xih_FW_OCyberSink_GetWritableBytes)(FW_OCyberSink *somSelf, Environment *ev);
  184. inline long  SOMLINK FW_OCyberSink_parent_FW_OSink_GetWritableBytes(FW_OCyberSink *somSelf, Environment *ev)
  185. {
  186. #ifdef SOMCHKEXCEPT
  187.   long __somRetVal =   ((somTD_xih_FW_OCyberSink_GetWritableBytes)
  188.     somParentNumResolve((somClassDataStructure*)&FW_OCyberSinkClassData, 1, FW_OSinkClassData.GetWritableBytes))
  189.         (somSelf,ev);
  190.   SOMCHKEXCEPT;
  191.   return __somRetVal;
  192. #else
  193.   return  ((somTD_xih_FW_OCyberSink_GetWritableBytes)
  194.     somParentNumResolve((somClassDataStructure*)&FW_OCyberSinkClassData, 1, FW_OSinkClassData.GetWritableBytes))
  195.         (somSelf,ev);
  196. #endif
  197. }
  198. #define FW_OCyberSink_parents_GetWritableBytes(arg0,arg1) \
  199.   (void) FW_OCyberSink_parent_FW_OSink_GetWritableBytes(arg0,arg1)
  200.  
  201. /* Overridden method: Write */
  202. SOM_Scope void  SOMLINK SLCySink__Write(FW_OCyberSink *somSelf, Environment *ev,
  203.         void* source,
  204.         long count);
  205. SOMEXTERN typedef void   (* SOMLINK somTD_xih_FW_OCyberSink_Write)(FW_OCyberSink *somSelf, Environment *ev,
  206.         void* source,
  207.         long count);
  208. inline void  SOMLINK FW_OCyberSink_parent_FW_OSink_Write(FW_OCyberSink *somSelf, Environment *ev,
  209.     void* source,
  210.     long count)
  211. {
  212.   ((somTD_xih_FW_OCyberSink_Write)
  213.     somParentNumResolve((somClassDataStructure*)&FW_OCyberSinkClassData, 1, FW_OSinkClassData.Write))
  214.         (somSelf,ev,source,count);
  215. #ifdef SOMCHKEXCEPT
  216.   SOMCHKEXCEPT;
  217. #endif
  218. }
  219. #define FW_OCyberSink_parents_Write(arg0,arg1,arg2,arg3) \
  220.   (void) FW_OCyberSink_parent_FW_OSink_Write(arg0,arg1,arg2,arg3)
  221.  
  222. /*
  223.  * -- Primary Implementation File Support
  224.  */
  225. #if (defined(FW_OCyberSink_Class_Source) || defined(SOM_Module_slcysink_Source))
  226.  
  227. /*
  228.  * -- The FW_OCyberSink ClassData Structure
  229.  */
  230.  
  231. #if PRAGMA_IMPORT_SUPPORTED
  232. #pragma export list FW_OCyberSinkClassData
  233. #endif
  234.  
  235.  
  236. /*
  237.  * -- The FW_OCyberSink Class Ancestor Table
  238.  */
  239. static somClassDataStructure * SOMDLINK FW_OCyberSinkClassAncestors [] = {
  240.     (somClassDataStructure*) & FW_OSinkClassData,    /* parent */
  241.     (somClassDataStructure*) & SOMObjectClassData,    /* ancestor */
  242. };
  243.  
  244.  
  245. /*
  246.  * -- The FW_OCyberSink Override ProcPtr Implementations Table
  247.  */
  248. static somMethodPtr FW_OCyberSinkOverrideProcs [] = {
  249.     (somMethodPtr) SLCySink__GetReadableBytes,    /* override class FW_OSink */
  250.     (somMethodPtr) SLCySink__Read,    /* override class FW_OSink */
  251.     (somMethodPtr) SLCySink__GetWritableBytes,    /* override class FW_OSink */
  252.     (somMethodPtr) SLCySink__Write,    /* override class FW_OSink */
  253.     (somMethodPtr) SLCySink__somUninit,    /* override class SOMObject */
  254. };
  255.  
  256.  
  257. static void FW_OCyberSinkDLLD ( void ) { }
  258.  
  259.  
  260. /*
  261.  * -- The FW_OCyberSink Static Class Info Master Table
  262.  */
  263. static somStaticClassInfo FW_OCyberSinkSCI = {
  264.       70,    /* layout version */
  265.     (somClassDataStructure*)  & FW_OCyberSinkClassData,    /* main token table */
  266.       FW_OCyberSinkOverrideProcs,    /* override proc implemenations table */
  267.       FW_OCyberSinkClassAncestors,    /* ancestor table */
  268.       FW_OCyberSinkDLLD,    /* DLLdesignator */
  269.       0,    /* no special procs */
  270.       0,    /* rtci slot */
  271.       0,    /* count slot */
  272.       0,    /* dynamic ancestry */
  273.       0,    /* free */
  274.       0,    /* free */
  275.       0,    /* free */
  276.       0,    /* free */
  277.  
  278. /*
  279.  * -- The FW_OCyberSink Counts Table
  280.  */
  281.     (somStaticClassCounts *)
  282.         "\x00\x00\x00\x01"    /* majorversion */
  283.         "\x00\x00\x00\x00"    /* minorversion */
  284.         "\x00\x00\x00\x01"    /* flags */
  285.             "\x00\x02"    /* type code alignment */
  286.             "\x00\x01"    /* classTokenCount */
  287.             "\x00\x01"    /* numDirectParents */
  288.             "\x00\x00"    /* numMetaClasses */
  289.             "\x00\x02"    /* numOverriddenAncestors */
  290.             "\x00\x00"    /* numMigratedMethods */
  291.             "\x00\x00"    /* numSelectedInherited */
  292.             "\x00\x00"    /* numUnused */
  293.             "\x00\x00"    /* free */
  294.             "\x00\x00"    /* free */
  295.             "\x00\x00"    /* free */
  296.             "\x00"    /* free */
  297.                 ,
  298.  
  299.     {
  300.       "FW::OCyberSink",    /* the class name */
  301.       sizeof (FW_OCyberSinkData), /* class instance data size */
  302.  
  303. /*
  304.  * -- The FW_OCyberSink Parent Versions Table
  305.  */
  306.     (somParentVersions *)
  307.         "\x00\x00\x00\x01"    /* majorversion */
  308.         "\x00\x00\x00\x00"    /* minorversion */
  309.                 ,
  310.  
  311.  
  312. /*
  313.  * -- The FW_OCyberSink Token Slot Usage Table
  314.  */
  315.     (somSlotUsage *)
  316.         "",
  317.  
  318.  
  319. /*
  320.  * -- The FW_OCyberSink Method Signature Info
  321.  */
  322.     (somSignatureInfo *)
  323.         "\x03\x07"    /* InitFromStream */
  324.              ,
  325.  
  326.  
  327. /*
  328.  * -- The FW_OCyberSink Class Method Names
  329.  */
  330.         "InitFromStream\0"
  331.             ,
  332.  
  333.  
  334. /*
  335.  * -- The FW_OCyberSink Override Slots Table
  336.  */
  337.     (somOverrideData *)
  338.         "\x00\x00\x00\x04"    /* parent FW_OSink has 4 overrides */
  339.             "\x00\x02"    /* GetReadableBytes */
  340.             "\x00\x03"    /* Read */
  341.             "\x00\x04"    /* GetWritableBytes */
  342.             "\x00\x05"    /* Write */
  343.         "\x00\x01\x00\x01"    /* parent SOMObject has 1 overrides */
  344.             "\x00\x01"    /* somUninit */
  345.                 ,
  346.  
  347.       0,    /* no migrated methods table */
  348.       0,    /* no selected inherited */
  349.       0,    /* unused */
  350.  
  351.       0,    /* free */
  352.       0,    /* free */
  353.       0,    /* free */
  354.       0,    /* free */
  355.     },
  356. };
  357.  
  358. /*
  359.  * -- The FW_OCyberSink ClassData Structure
  360.  */
  361. struct FW_OCyberSinkClassDataStructure SOMDLINK FW_OCyberSinkClassData = {
  362.       0,            /* zero */
  363.     & FW_OCyberSinkSCI,        /* SCI link */
  364.       0,            /* instanceDataToken */
  365.       0,            /* reserved */
  366.       0,            /* reserved */
  367.       0,            /* reserved */
  368.     (somMToken) SLCySink__InitFromStream,    /* InitFromStream:method */
  369. };
  370.  
  371.  
  372. /*
  373.  * Functions for attributes.
  374.  */
  375.  
  376. /*
  377.  * Macros for initializers/destructors
  378.  */
  379.  
  380. #endif /* Primary Implementation Support */
  381.  
  382. #endif       /* SOM_FW_OCyberSink_xih */
  383.